Національний технічний університет України
«Київський політехнічний інститут імені Ігоря Сікорського»
Теплоенергетичний факультет
Кафедра автоматизації проектування енергетичних процесів і систем
ЗВІТ
з лабораторної роботи № 2
з дисципліни «Програмування алгоритмічних структур»
Тема «Програмування розгалужених алгоритмів»
Варіант № 3
/
Завдання 1:
/
Завдання 2:
/
Завдання 3:
/
Завдання 4:
/
Короткий опис рішення кожного завдання:
У першому завданні я створив новий клас Lr21, потім написав метод task1, який обчислює приклад в залежності від значення Х. Для цього я використав оператор if.
Для другого завдання я в цьому же класі створив метод task2, який обчислює приклад в залежності від Х і варіацій інших змінних яких всого три. Щоб вибрати правильну варіацію я використав оператор switch. В кожному Case я присвоїв змінним свої значення, щоб при виклику цього метода кожен раз не вводити три значення змінним а вибрати один з варіантів в яких вже є значення змінних.
Третє завдання я робив у новому класі Lr22 в якому зробив метод task3. За допомогою класа Scanner я присваїваю змінним значення з клавіатури. Даний метод порівнює три числа між собою і виводить з них середнє за значенням.
Для 4 завдання створив метод task4, який говорить чи лежить точка всередині кола, якщо дан його радіус, координати даної точки і центр кола лежить в початку координат. Щоб знайти відстань від точки до центра кола скористаємось теоремою Піфагора, бо відрізок між точкою і центром це є гіпотенуза, а перпендикуляр опущений з точки на вісь і проекція гіпотенузи на ту ж вісь це є катети.
Блок-схема до завдання 4:
/
Код програми Task1 і Task2 на білому фоні:
import java.lang.Math;import java.util.Scanner;public class Lr21 { public static void main(String[] args) { double x1, x2, x3; x1 = -2.3; x2 = 0.6; x3 = 4.8; System.out.printf("\nTask1\nif x = -2,3 y = %1$.4f", task1(x1)); System.out.printf("\nif x = 0,6 y = %1$.4f", task1(x2)); System.out.printf("\nif x = 4,8 y = %1$.4f\n\n", task1(x3)); System.out.printf("Task2\n if x = -2,3 with first set of b, m, n y = %1$.4f", task2(x1, 1)); System.out.printf("\n with second set of b, m, n y = %1$.4f", task2(x1, 2)); System.out.printf("\n with third set of b, m, n y = %1$.4f", task2(x1, 3)); System.out.printf("\n\nif x = 0.6 with first set of b, m, n y = %1$.4f", task2(x2, 1)); System.out.printf("\n with second set of b, m, n y = %1$.4f", task2(x2, 2)); System.out.printf("\n with third set of b, m, n y = %1$.4f", task2(x2, 3)); System.out.printf("\n\nif x = 4.8 with first set of b, m, n y = %1$.4f", task2(x3, 1)); System.out.printf("\n with second set of b, m, n y = %1$.4f", task2(x3, 2)); System.out.printf("\n with third set of b, m, n y = %1$.4f", task2(x3, 3)); } public static double task1(double x) { double a, b, z; a = 0.1; b = 3.25; z = Math.pow(Math.cos(x), 2); if (x < 0) return (a + z) * Math.pow(Math.cos((b * x) + Math.pow(x, 3)), 2); else if (a <= x && x <= b) return a * Math.log(z * x) + Math.pow(Math.sin(Math.pow(b, 2)), 2); return Math.pow(0.3 * b + Math.sqrt(Math.abs(a - Math.pow(z, 2))) , 1/3); } public static double task2(double x, int numb) { double b, m, n; switch (numb) { case 1: b = -1.6; m = 0.9; n = -1.4; break; case 2: b = 4.5; m = -2; n = 2.2; break; case 3: b = -4.5; m = 0.5; n = -1.5; break; default: b = 0; m = 0; n = 0; } if (Math.abs(b * m) > Math.pow(x, 2)) return Math.si...